home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / compack / compack.tec < prev   
Encoding:
Text File  |  1993-07-08  |  3.3 KB  |  79 lines

  1. ☆☆☆☆  COMPACK テクニカルマニュアル  ☆☆☆☆
  2.                         第1.00版    1992.02.15
  3.  
  4. ■ 動作原理 ■
  5.  「COMファイルは実行時、常に64Kのセグメント一つに読み込まれる」
  6. という原理を用いて、その読み込まれる1ファイルに「沢山プログラムをく
  7. っつけ」て、「実行されるプログラムで再配置する」という手法を取ってい
  8. ます。このファイル(ベースファイル)の構造については事項で触れることに
  9. する。なお、ベースファイルに他プログラムをリンクする作業は、独立した
  10. 別プログラム(COMPACK.EXE) を用いて行うこととする。
  11.  このプログラムの動作プロセスは、大体以下のようになっている。
  12.  
  13.         ***************
  14.                 *コマンドラインより呼び出し*
  15.         ***************
  16.                |パラメータが指定されている?
  17.                |
  18.                |   N************
  19.                +----*登録ファイル一覧表示*
  20.               Y|    ************
  21.         ***************
  22.                 *指定コマンドの存在チェック*
  23.         ***************
  24.                |
  25.        ******************
  26.        *コマンドラインパラメータの再解釈*
  27.        *        (DTA/FCB の設定)*
  28.              ******************
  29.                        |
  30.     ***********************
  31.     *目的プログラムリロケート用プログラム   *
  32.     *               のリロケート*
  33.     ***********************
  34.                |
  35.      ***********************
  36.      *リロケート用プログラム(上記)で     *
  37.      *      目的プログラムを $100~に配置 *
  38.      ***********************
  39.                |
  40.          *************
  41.          *目的のプログラムを実行*
  42.          *************
  43.  
  44.  
  45. ■ ベースファイル ■
  46.  ベースファイルとは、パックされたプログラムの一覧、そして実行のみを
  47. サポートするプログラムのことであり、実際にはターゲットファイルと連結
  48. された状態で読み込み&実行される。
  49.  
  50. 1.ベースファイルのフォーマット(連結前)
  51.  
  52.  先頭からの
  53.  オフセット
  54. +0000-0001 : EB 09               (JMP 010BH)
  55. +0002-0008 : 'COMPACK'           ID-NAME
  56. +0009-000A : HEADER(intel)       ヘッダー実アドレス
  57. +000B-     : 本体プログラム
  58. 最終位置   : 00                  連結プログラム数
  59. (HEADER)
  60.  
  61. 2.ベースファイルのフォーマット(連結後)
  62.  
  63.  ベースファイル末尾
  64.  からの オフセット
  65.  
  66. -0001(HEADER) : number              連結プログラム数(デフォルト=00)
  67.  
  68. +0000-0007 : filename1           プログラム名1(.comを取ったもの)
  69. +0008-0009 : filesize1(intel)    プログラム1のサイズ
  70. +000A-000B : address(intel)      プログラム格納位置(先頭実アドレス)
  71. +000C      : compress            圧縮フラグ(予約)
  72. +000D-000F : date                タイムスタンプ(予約)
  73. +0010-001f : program2            上記データの繰り返し
  74. +0020-002f : program3            上記データの繰り返し
  75.   :   :         :                          :
  76.   :   :         :                          :
  77.  
  78. ヘッダー終了位置より、各プログラムがシーケンシャルに格納されている。
  79.